漏洞利用防御技术有哪些
漏洞利用指的是利用程序中的某些漏洞,来得到计算机的控制权(使自己编写的代码越过具有漏洞的程序的限制,从而获得运行权限)。漏洞利用的防御技术主要有:
数据执行保护 (DEP) :数据执行保护阻止在受保护的内存区域中执行任意代码。
地址空间布局随机化 (ASLR) :改变进程地址空间内数据结构布局。
结构化异常处理程序覆盖保护 (SEHOP):异常记录的替换或异常处理程序的替换。
空页分配:保护重定向空指针。
LoadLibrary 网络调用检查(反 ROP):防止从网络路径加载 DLL。
可执行文件堆栈(反 ROP):阻止堆栈区域的非授权执行。
反 RET 检查(反 ROP) :检查确保安全调用 CALL 指令。
反堆栈透视(反 ROP):防止将 ESP 堆栈指针重新定位到可执行文件地址。
简单导出地址表访问监视(EAT 访问监视和通过调试寄存器的 EAT 访问监视):防止对 kernel32.dll、kernelbase.dll 和 ntdll.dll 导出地址表的读取访问。
堆喷射分配 (Heapspray):防止将内存分配用于执行恶意代码。
执行流模拟(反返回导向编程):检测 Windows API 组件中可能存在危险的指令链(潜在 ROP 小工具)。
IntervalProfile 调用监视(辅助功能驱动程序保护 (AFDP)):防止通过 AFD 驱动程序中的漏洞进行提权(通过 QueryIntervalProfile 调用在 Ring 0 中执行任意代码)。
受攻击面减少 (ASR) :通过受保护的进程阻止启动易受攻击的加载项。
反进程挖空 (Hollowing):防止创建和执行受信任进程的恶意副本。
反 AtomBombing (APC) :通过异步过程调用 (APC) 利用全局原子表漏洞。
反 CreateRemoteThread (RThreadLocal):其他进程已在受保护进程中创建线程。
反 CreateRemoteThread (RThreadRemote):受保护进程已在其他进程中创建线程。